<!DOCTYPE html>
<html lang="en-us">

<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

  	<meta property="og:title" content=" python文件操作与异常处理 &middot;  我的博客" />
  	<meta property="og:site_name" content="我的博客" />
  	<meta property="og:url" content="/my_technology/18/" />
    
    
  	<meta property="og:type" content="article" />

    <meta property="og:article:published_time" content="2020-06-21T18:55:23&#43;08:00" />

    
    

  <title>
     python文件操作与异常处理 &middot;  我的博客
  </title>

    <meta name="description" content="这里是付佳康的个人博客" />

    <meta name="HandheldFriendly" content="True" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <link rel="shortcut icon" href="/my_technology/images/favicon.ico">
	  <link rel="apple-touch-icon" href="/my_technology/images/apple-touch-icon.png" />
    
    <link rel="stylesheet" type="text/css" href="/my_technology/css/screen.css" />
    <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Merriweather:300,700,700italic,300italic|Open+Sans:700,400|Inconsolata" />


    
      
          <link href="/my_technology/index.xml" rel="alternate" type="application/rss+xml" title="我的博客" />
      
      
    
    <meta name="generator" content="Hugo 0.68.3" />

    <link rel="canonical" href="/my_technology/18/" />

     
</head>
<body class="nav-closed">
<div id="particles-js"></div>
  


 <div class="site-wrapper">



<header class="main-header " style="background-image: url(/my_technology/images/user.jpg)">

    <nav class="main-nav overlay clearfix">
        
            <a class="blog-logo" href="/my_technology/"><img src="/my_technology/images/user.png" alt="Blog Logo" /></a>
        
        
    </nav>
<div class="vertical">
        <div class="main-header-content inner">
            <h1 class="page-title">
              <a class="btn-bootstrap-2" href="#content">我的博客</a>
          </h1>
          <h2 class="page-description">这里是付佳康的个人博客</h2>
        </div>
</div>
    <a class="scroll-down icon-arrow-left" href="#content"><span class="hidden">Scroll Down</span></a>
</header>

  <main id="content" class="content" role="main">


  <article class="post ">

    <header class="post-header">
        <h1 class="post-title">python文件操作与异常处理</h1>
        <section class="post-meta">
        
         
        </section>
    </header>

    <section class="post-content">
      <pre><code>1.文件的打开与关闭
    f = open('文件名', '模式（w:写入、r：读取、a：追加）')
    f.close() 关闭
    
2.文件的读
    f = open(&quot;文件名&quot;, &quot;r&quot;)  以只读模式’r’打开文件,文件不存在，报错。
    a = f.read()  read:读全部内容，得到字符串
    b = f.readline()  readline:一次读一行内容，得到字符串
    c = f.readlines()  readlines：读全部内容，得到包含每行内容的列表
    print(a,b,c)
    
3.文件的写
    f = open(&quot;文件名&quot;, &quot;w&quot;)  以只写&quot;w&quot;模式打开文件，文件不存在，创建新文件，文件存在，清空原有内容
    f = open(&quot;文件名&quot;, &quot;a&quot;)  以追加&quot;a&quot;模式打开文件，文件不存在，创建新文件，文件存在，在原有内容末尾添加新内容
    f.write(&quot;hello world\n&quot;)  write:将字符串写入文件内容，想换行，手动写入&quot;\n&quot;

4.文件的拷贝
    先读取txt.py中所有内容
        f = open(&quot;文件名&quot;, &quot;r&quot;)
        s = f.read() s中就是文件所有内容
        f.close()  
    将读取的内容写入2.txt
        f = open(&quot;2.txt&quot;, &quot;w&quot;)
        f.write(s)  将s中的内容写入2.txt中
        f.close()
        
5.File对象的属性
    一个文件被打开后，使用对象进行接收，接收的对象即为 File 对象
        file.closed: 返回true如果文件已被关闭，否则返回false。
        file.mode: 返回被打开文件的访问模式。
        file.name: 返回文件的名称。
        file.softspace: 如果用print输出后，必须跟一个空格符，则返回false。否则返回true。（python3已经去除。）
    
    例：
        f = open(&quot;txt1.py&quot;,&quot;r&quot;)
        查看文件名
        print(&quot;文件名&quot;,f.name) 
        查看是否已经关闭 是:True 否:False
        print(&quot;是否已关闭&quot;,f.closed)
        查看访问模式
        print(&quot;访问模式:&quot;,f.mode)
        关闭一下，查看是否已经关闭
        f.close()
        print(f.closed)
        
6.文件相关操作
    import os   导入os包
    将文件重命名
    os.rename(&quot;1.txt.py&quot;, &quot;txt3.py&quot;)
    
    删除文件
    os.remove(&quot;txt1.py&quot;)
    
    新建文件夹
    os.mkdir(&quot;5.txt&quot;)
    
    删除文件夹
    os.rmkdir(&quot;5.txt&quot;)
    
    获取当前文件所在的路径
    r = os.getcwd()
    print(r)

7.异常处理
    1.导致程序在运行过程中出现非正常终端和退出的错误，称为异常。大多数的异常都不会被程序处理，而是以错误的形式展现出来。

    2.异常有很多类型，Python 内置了几十种常见的异常，无需特别导入，直接就可以用。所有异常都是异常类，首字母是大写的。
    
    3. Python内置了一套try..except...finally(else) ... 的异常处理机制，来帮助我们处理异常
        语法：
        Try:
        代码块
        except Exception as e:
        代码块
    
    一、异常的常见用法
    1、try...except..  捕获单个异常
        * 可能产生的错误放在try 中
        * 产生错误后要做的处理放在except中
    
    2、捕获多个异常
        多个异常之间用逗号隔开
    
    3、获取异常的信息描述
        使用关键字 as
    
    4、捕获所有异常
        except exception as e
    
    5、Else
        如果没有捕获到异常，则运行else从句中的代码
    
    6、try..finally
        在程序中，如果一段代码是否产生异常都必须要执行，那么这时就需要使用finally。比如关闭文件，释放锁，关闭数据，关闭数据库连接等
</code></pre>
    </section>


  <footer class="post-footer">


    
    <figure class="author-image">

        <a class="img" href="/my_technology/" style="background-image: url(/my_technology/images/user.png)"><span class="hidden">付佳康</span></a>
    </figure>
    

    <section class="author">

  <p>付佳康</p>
  

</section>


    
    <section class="share">
      <h4>Share this page</h4>
      <a class="icon-twitter" style="font-size: 1.4em" href="https://twitter.com/share?text=python%e6%96%87%e4%bb%b6%e6%93%8d%e4%bd%9c%e4%b8%8e%e5%bc%82%e5%b8%b8%e5%a4%84%e7%90%86&amp;url=%2fmy_technology%2f18%2f"
          onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;">
          <span class="hidden">Twitter</span>
      </a>
      <a class="icon-facebook" style="font-size: 1.4em" href="https://www.facebook.com/sharer/sharer.php?u=%2fmy_technology%2f18%2f"
          onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;">
          <span class="hidden">Facebook</span>
      </a>
      <a class="icon-google-plus" style="font-size: 1.4em" href="https://plus.google.com/share?url=%2fmy_technology%2f18%2f"
         onclick="window.open(this.href, 'google-plus-share', 'width=490,height=530');return false;">
          <span class="hidden">Google+</span>
      </a>
    </section>
    

    
    
    

  </footer>
</article>

</main>
    <footer class="site-footer clearfix">
        <section class="copyright"><a href="">我的博客</a> </section>
        
        <section class="poweredby">Proudly generated by <a class="icon-hugo" href="https://gohugo.io">HUGO</a>, with <a class="icon-theme" href="https://github.com/syui/hugo-theme-air">hugo-theme-air</a> theme</section>
        
    </footer>
    </div>
    <script type="text/javascript" src="/my_technology/js/jquery.js"></script>
    <script type="text/javascript" src="/my_technology/js/jquery.fitvids.js"></script>
    <script type="text/javascript" src="/my_technology/js/index.js"></script>
    <script src="/my_technology/js/particles.min.js"></script>
    <script src="/my_technology/js/particles.js"></script>  

</body>
</html>

